iT邦幫忙

2025 iThome 鐵人賽

DAY 30
1

不知不覺也到最後一天了

<心得: 我真的不懂 LLM>

Recall 前 29 天做了什麼

Day 1: 誇下海口,要打造一個 general agent 並且打包成 package 放在 PyPI 上
Day 2 ~ 6: survey papers,了解整個 agent components 與運作機制
Day 7 ~ 15: agent-brain 架構與雛形規劃與實作,套進 State pattern 來當運作 ReAct 的機制
Day 16 ~ 17: survey Ai Agent 相關的 evaluation dataset (ToolHop / BFCL)
Day 18 ~ 19: 理解 Function Calling,使用 Function Calling,懷疑 Function Calling
Day 20: evaluation framework
Day 21: add reflection state
Day 22 ~ 23: 粗淺的 理解 Context Engineering 的重要性,與大致的設計理念
Day 24 ~ 25: 實做 To-do list 的 memory 機制 > 效果差到一度想退賽 (因為感覺要認真花時間重新設計)
Day 26 ~ 28: MVP 原則,至少把該有的 tools 機制 (MCP server) 實作完畢
Day 29: 打包成可 import 的 python package

Detailed

Method

agent-brain 主要有兩大架構 Memory structure & Net structure
structure of agent-brain
Memory structure
用抽換的方式,在相同的 net structure 底下可以用不同的機制來做 context engineering

  • Naive Append Message
  • Maintain a to-do list table

Net structure (base on Finite State Machine)
用 state pattern 打造 net 機制,目前有兩種不同的 Net

  • ReAct
  • ReFAct (ReAct with reflection state)

Experiment

  • 並且實際跑實驗後,加上 reflection state 效果提升,但用 to-do list as memory,效果提升不明顯。
    experiment

Usage case

如同 29 天展示的一樣,可以用 import 的方式 只要附上 mcp server or tools 我們就可以跑 ReAct,他會 會 return each state 的 decision 且 streaming 的回覆問題

from agent_brain import BaseTool, Brain


async def call_agent(tools, query):
    brain = await Brain.create(tools=tools)

    async for output in brain.answer(query):
        print(output, end="", flush=True)

後話

如果要用一張圖來形容整個鐵人賽路程,我可能才剛從著名的 Gartner hype cycle 中的 愚昧之巔 下山而已

Gartner hype cycle

打造 AI Agent 的 workflow:
打造 效果很好 AI Agent 的 workflow: 很難

套用 Paul Graham 講過的一段話:
"Knowledge expands fractally, and from a distance its edges look smooth, but once you learn enough to get close to one, they turn out to be full of gaps." -- Paul Graham

在我們不深入理解某項知識之前,我們遠遠看他整個知識是平滑的 無懈可擊 (喔 阿就那樣阿 的心態),但當我們逐漸越體會越多,越學越多。走近一看才發現 其實當初以為平滑的知識點,可能是由更多小知識點組成,且每個小知識點也都是完全不同且有深度領域。

agent-brain 尚未開發完成...

最後感謝陪我走完30天的GF
也感謝慫恿我參加這個活動的同事XD


上一篇
Day 29: 打包成 python package
系列文
agent-brain: 從 0 開始打造一個 python package30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言